package com.ftg.learn.lesson4;

import java.util.Arrays;

/**
 * 学习数组变性
 *
 * @author kangjx
 * @version 1.0
 * @date 2023/6/20 上午8:36
 */
public class LearnArray03 {

    /**
     * 多维数组 :
     * @param args
     */
    public static void main(String[] args) {

        int[][] array = new int[2][3];
        // array 长度 表示一维长度
        System.out.println(array.length);

        //array[0] 第二个维度的长度
        System.out.println(array[0].length);
        System.out.println(array[1].length);

        //赋値
        array[0][0] = 12;
        array[0][1] = 12;
        array[0][2] = 12;

        array[1][0] = 12;
        array[1][1] = 12;
        array[1][2] = 12;

        //第二种
        array[0] = new int[]{1,2,3};
        array[1] = new int[]{1,2,3};

        // 第三种
        int[][] array2  = {{1,2,3},{1},{4}};
        System.out.println(array2.length);

        //
//        *
//        **
//        ***
//        ****
        char[][] stars = new char[7][];
        stars[0] = new char[]{'*'};
        stars[1] = new char[]{'*','*'};
        stars[2] = new char[]{'*','*','*'};
        stars[3] = new char[]{'*','*','*','*'};
        stars[4] = new char[]{'*','*','*'};
        stars[5] = new char[]{'*','*'};
        stars[6] = new char[]{'*'};


        int[][] array1 = new int[2][];
        System.out.println(array1.length);

        //NullPointerException
//        System.out.println(array1[0].length);

//        1 2 3 4 5
//        6 7 8 9 10

        for(int i = 0 ;i < stars.length;i++){
            for(int j = 0;j < stars[i].length;j++){
                System.out.print(stars[i][j]+"\t");
            }
            System.out.println();
        }

        for(int i = 0 ;i < stars.length;i++) {
            System.out.println(Arrays.toString(stars[i]));
        }
    }

    /**
     * int[][] 5* 5
     * 1 2 3 4 5
     * 2 3 4 5 6
     * 3 4 5 6 7
     * 4 5 6 7 8
     * 5 6 7 8 9
     *
     *
     * 1 1 1 1 1
     * 2 2 2 2 2
     * 3 3
     * 4 4
     * 5 5 5 5 5
     *
     * 输出问题
     * 1  2   3 4  5
     * 6  7   8 9  10
     * 11 12 13 14 15
     * 16 17 18 19 20
     * 21 22 23 24 25
     *
     * 输出内容
     * 1 : 偶数  奇数
     * 2 : 列输出
     * 选做
     * 3 : 回字输出
     * 4 : 蛇形
     */

}
